home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 1999 August / SGI Freeware 1999 August.iso / dist / fw_xemacs.idb / usr / freeware / lib / xemacs-20.4 / lisp / packages / backup-dir.elc.z / backup-dir.elc
Emacs Compiled Lisp  |  1998-05-21  |  7.3 KB

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text


This file was processed as: Emacs Compiled Lisp (other/emacsCompiledLisp).
This format is not currently supported by dexvert.

ConfidenceProgramDetectionMatch TypeSupport
1% dexvert Emacs Compiled Lisp (other/emacsCompiledLisp) magic Unsupported
100% file Emacs/XEmacs v20 byte-compiled Lisp data default
99% file data default
100% TrID Emacs/XEmacs byte-compiled Lisp (generic) default



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 3b 45 4c 43 14 00 00 00 | 0a 3b 3b 3b 20 63 6f 6d |;ELC....|.;;; com|
|00000010| 70 69 6c 65 64 20 62 79 | 20 6a 75 73 74 69 6e 62 |piled by| justinb|
|00000020| 40 65 62 6f 6e 79 2e 63 | 72 61 79 2e 63 6f 6d 20 |@ebony.c|ray.com |
|00000030| 6f 6e 20 4d 6f 6e 20 4d | 61 72 20 20 39 20 31 32 |on Mon M|ar 9 12|
|00000040| 3a 35 32 3a 30 38 20 31 | 39 39 38 0a 3b 3b 3b 20 |:52:08 1|998.;;; |
|00000050| 66 72 6f 6d 20 66 69 6c | 65 20 2f 68 6f 6d 65 2f |from fil|e /home/|
|00000060| 61 73 70 65 6e 30 37 2f | 6a 75 73 74 69 6e 62 2f |aspen07/|justinb/|
|00000070| 72 6f 6f 74 73 2f 66 72 | 65 65 77 61 72 65 2f 78 |roots/fr|eeware/x|
|00000080| 65 6d 61 63 73 2f 32 30 | 2e 33 2f 78 65 6d 61 63 |emacs/20|.3/xemac|
|00000090| 73 2d 32 30 2e 33 2f 6c | 69 73 70 2f 70 61 63 6b |s-20.3/l|isp/pack|
|000000a0| 61 67 65 73 2f 62 61 63 | 6b 75 70 2d 64 69 72 2e |ages/bac|kup-dir.|
|000000b0| 65 6c 0a 3b 3b 3b 20 65 | 6d 61 63 73 20 76 65 72 |el.;;; e|macs ver|
|000000c0| 73 69 6f 6e 20 32 30 2e | 34 20 22 45 6d 65 72 61 |sion 20.|4 "Emera|
|000000d0| 6c 64 22 20 58 45 6d 61 | 63 73 20 20 4c 75 63 69 |ld" XEma|cs Luci|
|000000e0| 64 2e 0a 3b 3b 3b 20 62 | 79 74 65 63 6f 6d 70 20 |d..;;; b|ytecomp |
|000000f0| 76 65 72 73 69 6f 6e 20 | 32 2e 32 35 20 58 45 6d |version |2.25 XEm|
|00000100| 61 63 73 3b 20 32 32 2d | 4d 61 72 2d 39 36 2e 0a |acs; 22-|Mar-96..|
|00000110| 3b 3b 3b 20 6f 70 74 69 | 6d 69 7a 61 74 69 6f 6e |;;; opti|mization|
|00000120| 20 69 73 20 6f 6e 2e 0a | 3b 3b 3b 20 74 68 69 73 | is on..|;;; this|
|00000130| 20 66 69 6c 65 20 75 73 | 65 73 20 6f 70 63 6f 64 | file us|es opcod|
|00000140| 65 73 20 77 68 69 63 68 | 20 64 6f 20 6e 6f 74 20 |es which| do not |
|00000150| 65 78 69 73 74 20 69 6e | 20 45 6d 61 63 73 20 31 |exist in| Emacs 1|
|00000160| 39 2e 0a 0a 28 69 66 20 | 28 61 6e 64 20 28 62 6f |9...(if |(and (bo|
|00000170| 75 6e 64 70 20 27 65 6d | 61 63 73 2d 76 65 72 73 |undp 'em|acs-vers|
|00000180| 69 6f 6e 29 0a 09 20 28 | 6f 72 20 28 61 6e 64 20 |ion).. (|or (and |
|00000190| 28 62 6f 75 6e 64 70 20 | 27 65 70 6f 63 68 3a 3a |(boundp |'epoch::|
|000001a0| 76 65 72 73 69 6f 6e 29 | 20 65 70 6f 63 68 3a 3a |version)| epoch::|
|000001b0| 76 65 72 73 69 6f 6e 29 | 0a 09 20 20 20 20 20 28 |version)|.. (|
|000001c0| 73 74 72 69 6e 67 2d 6c | 65 73 73 70 20 65 6d 61 |string-l|essp ema|
|000001d0| 63 73 2d 76 65 72 73 69 | 6f 6e 20 22 32 30 22 29 |cs-versi|on "20")|
|000001e0| 29 29 0a 20 20 20 20 28 | 65 72 72 6f 72 20 22 60 |)). (|error "`|
|000001f0| 62 61 63 6b 75 70 2d 64 | 69 72 2e 65 6c 27 20 77 |backup-d|ir.el' w|
|00000200| 61 73 20 63 6f 6d 70 69 | 6c 65 64 20 66 6f 72 20 |as compi|led for |
|00000210| 45 6d 61 63 73 20 32 30 | 22 29 29 0a 0a 28 6f 72 |Emacs 20|"))..(or|
|00000220| 20 28 62 6f 75 6e 64 70 | 20 27 63 75 72 72 65 6e | (boundp| 'curren|
|00000230| 74 2d 6c 6f 61 64 2d 6c | 69 73 74 29 20 28 73 65 |t-load-l|ist) (se|
|00000240| 74 71 20 63 75 72 72 65 | 6e 74 2d 6c 6f 61 64 2d |tq curre|nt-load-|
|00000250| 6c 69 73 74 20 6e 69 6c | 29 29 0a 0a 0a 28 63 75 |list nil|))...(cu|
|00000260| 73 74 6f 6d 2d 64 65 63 | 6c 61 72 65 2d 76 61 72 |stom-dec|lare-var|
|00000270| 69 61 62 6c 65 20 27 62 | 6b 75 70 2d 62 61 63 6b |iable 'b|kup-back|
|00000280| 75 70 2d 64 69 72 65 63 | 74 6f 72 79 2d 69 6e 66 |up-direc|tory-inf|
|00000290| 6f 20 27 6e 69 6c 20 22 | 2a 41 6c 69 73 74 20 6f |o 'nil "|*Alist o|
|000002a0| 66 20 28 46 49 4c 45 2d | 52 45 47 45 58 50 20 42 |f (FILE-|REGEXP B|
|000002b0| 41 43 4b 55 50 2d 44 49 | 52 20 4f 50 54 49 4f 4e |ACKUP-DI|R OPTION|
|000002c0| 53 20 2e 2e 2e 29 29 5c | 6e 49 66 20 74 68 65 20 |S ...))\|nIf the |
|000002d0| 66 69 6c 65 6e 61 6d 65 | 20 74 6f 20 62 65 20 62 |filename| to be b|
|000002e0| 61 63 6b 65 64 20 75 70 | 20 6d 61 74 63 68 65 73 |acked up| matches|
|000002f0| 20 46 49 4c 45 2d 52 45 | 47 45 58 50 2c 20 6f 72 | FILE-RE|GEXP, or|
|00000300| 20 46 49 4c 45 2d 52 45 | 47 45 58 50 20 69 73 20 | FILE-RE|GEXP is |
|00000310| 74 2c 5c 6e 74 68 65 6e | 20 42 41 43 4b 55 50 2d |t,\nthen| BACKUP-|
|00000320| 44 49 52 20 69 73 20 75 | 73 65 64 20 61 73 20 74 |DIR is u|sed as t|
|00000330| 68 65 20 70 61 74 68 20 | 66 6f 72 20 69 74 73 20 |he path |for its |
|00000340| 62 61 63 6b 75 70 73 2e | 5c 6e 5c 6e 44 69 72 65 |backups.|\n\nDire|
|00000350| 63 74 6f 72 69 65 73 20 | 6d 61 79 20 62 65 67 69 |ctories |may begi|
|00000360| 6e 20 77 69 74 68 20 5c | 22 2f 5c 22 20 74 6f 20 |n with \|"/\" to |
|00000370| 73 70 65 63 69 66 79 20 | 61 6e 20 61 62 73 6f 6c |specify |an absol|
|00000380| 75 74 65 20 70 61 74 68 | 6e 61 6d 65 2e 5c 6e 5c |ute path|name.\n\|
|00000390| 6e 49 66 20 42 41 43 4b | 55 50 2d 44 49 52 20 64 |nIf BACK|UP-DIR d|
|000003a0| 6f 65 73 20 6e 6f 74 20 | 65 78 69 73 74 20 61 6e |oes not |exist an|
|000003b0| 64 20 4f 50 54 49 4f 4e | 53 20 63 6f 6e 74 61 69 |d OPTION|S contai|
|000003c0| 6e 73 20 74 68 65 20 73 | 79 6d 62 6f 6c 20 60 6f |ns the s|ymbol `o|
|000003d0| 6b 2d 63 72 65 61 74 65 | 27 2c 5c 6e 74 68 65 6e |k-create|',\nthen|
|000003e0| 20 69 74 20 69 73 20 63 | 72 65 61 74 65 64 20 69 | it is c|reated i|
|000003f0| 66 20 70 6f 73 73 69 62 | 6c 65 2e 20 20 4f 74 68 |f possib|le. Oth|
|00000400| 65 72 77 69 73 65 20 74 | 68 65 20 75 73 75 61 6c |erwise t|he usual|
|00000410| 20 62 65 68 61 76 69 6f | 72 20 28 62 61 63 6b 75 | behavio|r (backu|
|00000420| 70 20 69 6e 20 74 68 65 | 5c 6e 73 61 6d 65 20 64 |p in the|\nsame d|
|00000430| 69 72 65 63 74 6f 72 79 | 20 61 73 20 74 68 65 20 |irectory| as the |
|00000440| 66 69 6c 65 29 20 72 65 | 73 75 6c 74 73 2e 5c 6e |file) re|sults.\n|
|00000450| 5c 6e 49 66 20 4f 50 54 | 49 4f 4e 53 20 63 6f 6e |\nIf OPT|IONS con|
|00000460| 74 61 69 6e 73 20 74 68 | 65 20 73 79 6d 62 6f 6c |tains th|e symbol|
|00000470| 20 60 66 75 6c 6c 2d 70 | 61 74 68 27 2c 20 74 68 | `full-p|ath', th|
|00000480| 65 6e 20 74 68 65 20 66 | 75 6c 6c 20 70 61 74 68 |en the f|ull path|
|00000490| 20 6f 66 20 74 68 65 20 | 66 69 6c 65 5c 6e 62 65 | of the |file\nbe|
|000004a0| 69 6e 67 20 62 61 63 6b | 65 64 20 75 70 20 69 73 |ing back|ed up is|
|000004b0| 20 70 72 65 70 65 6e 64 | 65 64 20 74 6f 20 74 68 | prepend|ed to th|
|000004c0| 65 20 62 61 63 6b 75 70 | 20 66 69 6c 65 20 6e 61 |e backup| file na|
|000004d0| 6d 65 2c 20 77 69 74 68 | 20 65 61 63 68 20 5c 22 |me, with| each \"|
|000004e0| 2f 5c 22 5c 6e 72 65 70 | 6c 61 63 65 64 20 62 79 |/\"\nrep|laced by|
|000004f0| 20 61 20 5c 22 21 5c 22 | 2e 20 20 54 68 69 73 20 | a \"!\"|. This |
|00000500| 69 73 20 69 6e 74 65 6e | 64 65 64 20 66 6f 72 20 |is inten|ded for |
|00000510| 63 61 73 65 73 20 77 68 | 65 72 65 20 61 6e 20 61 |cases wh|ere an a|
|00000520| 62 73 6f 6c 75 74 65 20 | 62 61 63 6b 75 70 5c 6e |bsolute |backup\n|
|00000530| 70 61 74 68 20 69 73 20 | 75 73 65 64 2e 5c 6e 5c |path is |used.\n\|
|00000540| 6e 49 66 20 4f 50 54 49 | 4f 4e 53 20 63 6f 6e 74 |nIf OPTI|ONS cont|
|00000550| 61 69 6e 73 20 74 68 65 | 20 73 79 6d 62 6f 6c 20 |ains the| symbol |
|00000560| 60 73 65 61 72 63 68 2d | 75 70 77 61 72 64 27 20 |`search-|upward' |
|00000570| 61 6e 64 20 74 68 65 20 | 62 61 63 6b 75 70 20 64 |and the |backup d|
|00000580| 69 72 65 63 74 6f 72 79 | 5c 6e 42 41 43 4b 55 50 |irectory|\nBACKUP|
|00000590| 2d 44 49 52 20 69 73 20 | 61 20 72 65 6c 61 74 69 |-DIR is |a relati|
|000005a0| 76 65 20 70 61 74 68 2c | 20 74 68 65 6e 20 61 20 |ve path,| then a |
|000005b0| 64 69 72 65 63 74 6f 72 | 79 20 77 69 74 68 20 74 |director|y with t|
|000005c0| 68 61 74 20 6e 61 6d 65 | 20 69 73 20 73 65 61 72 |hat name| is sear|
|000005d0| 63 68 65 64 5c 6e 66 6f | 72 20 73 74 61 72 74 69 |ched\nfo|r starti|
|000005e0| 6e 67 20 61 74 20 74 68 | 65 20 63 75 72 72 65 6e |ng at th|e curren|
|000005f0| 74 20 64 69 72 65 63 74 | 6f 72 79 20 61 6e 64 20 |t direct|ory and |
|00000600| 70 72 6f 63 65 65 64 69 | 6e 67 20 75 70 77 61 72 |proceedi|ng upwar|
|00000610| 64 20 28 2e 2e 2c 20 2e | 2e 2f 2e 2e 2c 20 65 74 |d (.., .|./.., et|
|00000620| 63 29 5c 6e 75 6e 74 69 | 6c 20 6f 6e 65 20 69 73 |c)\nunti|l one is|
|00000630| 20 66 6f 75 6e 64 20 6f | 66 20 74 68 61 74 20 6e | found o|f that n|
|00000640| 61 6d 65 2c 20 6f 72 20 | 74 68 65 20 72 6f 6f 74 |ame, or |the root|
|00000650| 20 69 73 20 72 65 61 63 | 68 65 64 2c 20 61 6e 64 | is reac|hed, and|
|00000660| 20 69 66 20 6f 6e 65 20 | 69 73 20 66 6f 75 6e 64 | if one |is found|
|00000670| 5c 6e 69 74 20 69 73 20 | 75 73 65 64 20 61 73 20 |\nit is |used as |
|00000680| 74 68 65 20 62 61 63 6b | 75 70 20 64 69 72 65 63 |the back|up direc|
|00000690| 74 6f 72 79 2e 5c 6e 5c | 6e 46 69 6e 61 6c 6c 79 |tory.\n\|nFinally|
|000006a0| 2c 20 69 66 20 6e 6f 20 | 46 49 4c 45 2d 52 45 47 |, if no |FILE-REG|
|000006b0| 45 58 50 20 6d 61 74 63 | 68 65 73 20 74 68 65 20 |EXP matc|hes the |
|000006c0| 66 69 6c 65 20 6e 61 6d | 65 20 62 65 69 6e 67 20 |file nam|e being |
|000006d0| 62 61 63 6b 65 64 20 75 | 70 2c 20 74 68 65 6e 20 |backed u|p, then |
|000006e0| 74 68 65 5c 6e 75 73 75 | 61 6c 20 62 65 68 61 76 |the\nusu|al behav|
|000006f0| 69 6f 72 20 72 65 73 75 | 6c 74 73 2e 5c 6e 5c 6e |ior resu|lts.\n\n|
|00000700| 4f 6e 63 65 20 79 6f 75 | 20 73 61 76 65 20 74 68 |Once you| save th|
|00000710| 69 73 20 76 61 72 69 61 | 62 6c 65 20 77 69 74 68 |is varia|ble with|
|00000720| 20 60 4d 2d 78 20 63 75 | 73 74 6f 6d 69 7a 65 2d | `M-x cu|stomize-|
|00000730| 76 61 72 69 61 62 6c 65 | 27 2c 5c 6e 60 62 61 63 |variable|',\n`bac|
|00000740| 6b 75 70 2d 64 69 72 27 | 20 77 69 6c 6c 20 20 62 |kup-dir'| will b|
|00000750| 65 20 6c 6f 61 64 65 64 | 20 66 6f 72 20 79 6f 75 |e loaded| for you|
|00000760| 20 65 61 63 68 20 74 69 | 6d 65 20 79 6f 75 20 73 | each ti|me you s|
|00000770| 74 61 72 74 20 58 45 6d | 61 63 73 2e 22 20 3a 74 |tart XEm|acs." :t|
|00000780| 79 70 65 20 27 28 72 65 | 70 65 61 74 20 28 6c 69 |ype '(re|peat (li|
|00000790| 73 74 20 28 72 65 67 65 | 78 70 20 3a 74 61 67 20 |st (rege|xp :tag |
|000007a0| 22 46 69 6c 65 20 72 65 | 67 65 78 70 22 29 20 28 |"File re|gexp") (|
|000007b0| 73 74 72 69 6e 67 20 3a | 74 61 67 20 22 42 61 63 |string :|tag "Bac|
|000007c0| 6b 75 70 20 44 69 72 22 | 29 20 28 73 65 74 20 3a |kup Dir"|) (set :|
|000007d0| 69 6e 6c 69 6e 65 20 74 | 20 28 63 6f 6e 73 74 20 |inline t| (const |
|000007e0| 6f 6b 2d 63 72 65 61 74 | 65 29 20 28 63 6f 6e 73 |ok-creat|e) (cons|
|000007f0| 74 20 66 75 6c 6c 2d 70 | 61 74 68 29 20 28 63 6f |t full-p|ath) (co|
|00000800| 6e 73 74 20 73 65 61 72 | 63 68 2d 75 70 77 61 72 |nst sear|ch-upwar|
|00000810| 64 29 29 29 29 20 3a 72 | 65 71 75 69 72 65 20 27 |d)))) :r|equire '|
|00000820| 62 61 63 6b 75 70 2d 64 | 69 72 20 3a 67 72 6f 75 |backup-d|ir :grou|
|00000830| 70 20 27 62 61 63 6b 75 | 70 29 0a 23 40 31 36 33 |p 'backu|p).#@163|
|00000840| 20 73 65 61 72 63 68 20 | 75 70 77 61 72 64 20 66 | search |upward f|
|00000850| 6f 72 20 61 20 64 69 72 | 65 63 74 6f 72 79 20 6e |or a dir|ectory n|
|00000860| 61 6d 65 64 20 42 44 2d | 4e 41 4d 45 2c 20 73 74 |amed BD-|NAME, st|
|00000870| 61 72 74 69 6e 67 20 69 | 6e 20 74 68 65 0a 64 69 |arting i|n the.di|
|00000880| 72 65 63 74 6f 72 79 20 | 42 41 53 45 20 61 6e 64 |rectory |BASE and|
|00000890| 20 63 6f 6e 74 69 6e 75 | 69 6e 67 20 77 69 74 68 | continu|ing with|
|000008a0| 20 69 74 73 20 70 61 72 | 65 6e 74 20 64 69 72 65 | its par|ent dire|
|000008b0| 63 74 6f 72 69 65 73 20 | 75 6e 74 69 6c 0a 6f 6e |ctories |until.on|
|000008c0| 65 20 69 73 20 66 6f 75 | 6e 64 20 6f 72 20 74 68 |e is fou|nd or th|
|000008d0| 65 20 72 6f 6f 74 20 69 | 73 20 72 65 61 63 68 65 |e root i|s reache|
|000008e0| 64 2e 1f 0a 28 64 65 66 | 61 6c 69 61 73 20 27 62 |d...(def|alias 'b|
|000008f0| 6b 75 70 2d 73 65 61 72 | 63 68 2d 75 70 77 61 72 |kup-sear|ch-upwar|
|00000900| 64 2d 66 6f 72 2d 62 61 | 63 6b 75 70 2d 64 69 72 |d-for-ba|ckup-dir|
|00000910| 20 23 5b 28 62 61 73 65 | 20 62 64 2d 6e 61 6d 65 | #[(base| bd-name|
|00000920| 29 20 22 c0 09 c0 89 1a | 1b 1c 1d 0b ac a7 0d 0c |) ".....|........|
|00000930| 6b ac a2 0c c6 6b ac 9d | 0c 15 c7 0c c8 50 21 14 |k....k..|.....P!.|
|00000940| c7 0e 09 0c 5c 22 12 ca | 5c 6e 21 ab 60 cb 5c 6e |....\"..|\n!.`.\n|
|00000950| 21 ab 5b 5c 6e 89 13 ab | 59 0b ab 90 0b 89 47 53 |!.[\n...|Y.....GS|
|00000960| 48 cc 61 ab 87 0b cd 0b | 47 53 4f 13 0b 2c 87 22 |H.a.....|GSO..,."|
|00000970| 20 5b 6e 69 6c 20 62 61 | 73 65 20 74 72 79 69 74 | [nil ba|se tryit|
|00000980| 20 67 6f 74 69 74 20 63 | 75 72 72 20 70 72 65 76 | gotit c|urr prev|
|00000990| 20 22 2f 2f 22 20 65 78 | 70 61 6e 64 2d 66 69 6c | "//" ex|pand-fil|
|000009a0| 65 2d 6e 61 6d 65 20 22 | 2e 2e 2f 22 20 62 64 2d |e-name "|../" bd-|
|000009b0| 6e 61 6d 65 20 66 69 6c | 65 2d 64 69 72 65 63 74 |name fil|e-direct|
|000009c0| 6f 72 79 2d 70 20 66 69 | 6c 65 2d 65 78 69 73 74 |ory-p fi|le-exist|
|000009d0| 73 2d 70 20 3f 5c 2f 20 | 30 5d 20 35 20 28 23 24 |s-p ?\/ |0] 5 (#$|
|000009e0| 20 2e 20 32 31 31 33 29 | 5d 29 0a 23 40 39 32 20 | . 2113)|]).#@92 |
|000009f0| 52 65 70 6c 61 63 65 73 | 20 73 6c 61 73 68 65 73 |Replaces| slashes|
|00000a00| 20 69 6e 20 74 68 65 20 | 73 74 72 69 6e 67 20 53 | in the |string S|
|00000a10| 20 77 69 74 68 20 65 78 | 63 6c 61 6d 61 74 69 6f | with ex|clamatio|
|00000a20| 6e 73 2e 0a 41 20 6e 65 | 77 20 73 74 72 69 6e 67 |ns..A ne|w string|
|00000a30| 20 69 73 20 70 72 6f 64 | 75 63 65 64 20 61 6e 64 | is prod|uced and|
|00000a40| 20 72 65 74 75 72 6e 65 | 64 2e 1f 0a 28 64 65 66 | returne|d...(def|
|00000a50| 61 6c 69 61 73 20 27 62 | 6b 75 70 2d 72 65 70 6c |alias 'b|kup-repl|
|00000a60| 61 63 65 2d 73 6c 61 73 | 68 65 73 2d 77 69 74 68 |ace-slas|hes-with|
|00000a70| 2d 65 78 63 6c 61 6d 61 | 74 69 6f 6e 73 20 23 5b |-exclama|tions #[|
|00000a80| 28 73 29 20 22 c0 09 21 | 09 47 53 1a 1b 5c 6e c4 |(s) "..!|.GS..\n.|
|00000a90| 59 ab 92 0b 5c 6e 48 c5 | 55 ab 85 0b 5c 6e c6 49 |Y...\nH.|U...\n.I|
|00000aa0| 88 5c 6e 53 89 12 aa 6a | 0b 2a 87 22 20 5b 63 6f |.\nS...j|.*." [co|
|00000ab0| 70 79 2d 73 65 71 75 65 | 6e 63 65 20 73 20 69 20 |py-seque|nce s i |
|00000ac0| 6e 73 20 30 20 3f 5c 2f | 20 3f 5c 21 5d 20 34 20 |ns 0 ?\/| ?\!] 4 |
|00000ad0| 28 23 24 20 2e 20 32 35 | 34 34 29 5d 29 0a 23 40 |(#$ . 25|44)]).#@|
|00000ae0| 35 36 20 74 72 79 20 6d | 61 6b 69 6e 67 20 64 69 |56 try m|aking di|
|00000af0| 72 65 63 74 6f 72 79 20 | 44 49 52 2c 20 72 65 74 |rectory |DIR, ret|
|00000b00| 75 72 6e 20 6e 6f 6e 2d | 6e 69 6c 20 69 66 20 73 |urn non-|nil if s|
|00000b10| 75 63 63 65 73 73 66 75 | 6c 1f 0a 28 64 65 66 61 |uccessfu|l..(defa|
|00000b20| 6c 69 61 73 20 27 62 6b | 75 70 2d 74 72 79 2d 6d |lias 'bk|up-try-m|
|00000b30| 61 6b 69 6e 67 2d 64 69 | 72 65 63 74 6f 72 79 20 |aking-di|rectory |
|00000b40| 23 5b 28 64 69 72 29 20 | 22 c0 c1 c2 8f 87 22 20 |#[(dir) |"....." |
|00000b50| 5b 6e 69 6c 20 28 62 79 | 74 65 2d 63 6f 64 65 20 |[nil (by|te-code |
|00000b60| 22 c0 09 c2 5c 22 88 c2 | 87 22 20 5b 6d 61 6b 65 |"...\"..|." [make|
|00000b70| 2d 64 69 72 65 63 74 6f | 72 79 20 64 69 72 20 74 |-directo|ry dir t|
|00000b80| 5d 20 33 29 20 28 28 74 | 29 29 5d 20 33 20 28 23 |] 3) ((t|))] 3 (#|
|00000b90| 24 20 2e 20 32 37 38 37 | 29 5d 29 0a 23 40 37 34 |$ . 2787|)]).#@74|
|00000ba0| 20 47 69 76 65 73 20 74 | 68 65 20 62 61 73 65 20 | Gives t|he base |
|00000bb0| 70 61 72 74 20 6f 66 20 | 74 68 65 20 62 61 63 6b |part of |the back|
|00000bc0| 75 70 20 6e 61 6d 65 20 | 66 6f 72 20 46 49 4c 45 |up name |for FILE|
|00000bd0| 2c 20 61 63 63 6f 72 64 | 69 6e 67 20 74 6f 20 46 |, accord|ing to F|
|00000be0| 55 4c 4c 2d 50 41 54 48 | 2e 1f 0a 28 64 65 66 61 |ULL-PATH|...(defa|
|00000bf0| 6c 69 61 73 20 27 62 6b | 75 70 2d 62 61 63 6b 75 |lias 'bk|up-backu|
|00000c00| 70 2d 62 61 73 65 6e 61 | 6d 65 20 23 5b 28 66 69 |p-basena|me #[(fi|
|00000c10| 6c 65 20 66 75 6c 6c 2d | 70 61 74 68 29 20 22 08 |le full-|path) ".|
|00000c20| ab 84 c1 5c 6e 21 87 c3 | 5c 6e 21 87 22 20 5b 66 |...\n!..|\n!." [f|
|00000c30| 75 6c 6c 2d 70 61 74 68 | 20 62 6b 75 70 2d 72 65 |ull-path| bkup-re|
|00000c40| 70 6c 61 63 65 2d 73 6c | 61 73 68 65 73 2d 77 69 |place-sl|ashes-wi|
|00000c50| 74 68 2d 65 78 63 6c 61 | 6d 61 74 69 6f 6e 73 20 |th-excla|mations |
|00000c60| 66 69 6c 65 20 66 69 6c | 65 2d 6e 61 6d 65 2d 6e |file fil|e-name-n|
|00000c70| 6f 6e 64 69 72 65 63 74 | 6f 72 79 5d 20 32 20 28 |ondirect|ory] 2 (|
|00000c80| 23 24 20 2e 20 32 39 37 | 37 29 5d 29 0a 23 40 38 |#$ . 297|7)]).#@8|
|00000c90| 32 20 52 65 74 75 72 6e | 20 74 68 65 20 63 6f 6e |2 Return| the con|
|00000ca0| 73 20 6f 66 20 74 68 65 | 20 62 61 63 6b 75 70 20 |s of the| backup |
|00000cb0| 64 69 72 65 63 74 6f 72 | 79 20 6e 61 6d 65 0a 61 |director|y name.a|
|00000cc0| 6e 64 20 62 61 63 6b 75 | 70 20 66 69 6c 65 20 6e |nd backu|p file n|
|00000cd0| 61 6d 65 20 62 61 73 65 | 20 66 6f 72 20 46 49 4c |ame base| for FIL|
|00000ce0| 45 2e 1f 0a 28 64 65 66 | 61 6c 69 61 73 20 27 62 |E...(def|alias 'b|
|00000cf0| 6b 75 70 2d 62 61 63 6b | 75 70 2d 64 69 72 65 63 |kup-back|up-direc|
|00000d00| 74 6f 72 79 2d 61 6e 64 | 2d 62 61 73 65 6e 61 6d |tory-and|-basenam|
|00000d10| 65 20 23 5b 28 66 69 6c | 65 29 20 22 c0 09 21 19 |e #[(fil|e) "..!.|
|00000d20| c2 09 21 0b c4 89 1d 1e | 06 1e 07 1e 08 0e 07 3c |..!.....|.......<|
|00000d30| 83 de 00 0e 06 84 de 00 | 0e 07 83 de 00 0e 07 40 |........|.......@|
|00000d40| 40 c9 61 ac 8c ca 0e 07 | 40 40 09 5c 22 cb 61 83 |@.a.....|@@.\".a.|
|00000d50| d6 00 0e 07 40 41 40 89 | 1e 0c 47 cb 56 ad 87 0e |....@A@.|..G.V...|
|00000d60| 0c cb 48 cd 61 3f 1e 0e | c0 0e 0c 0e 08 5c 22 89 |..H.a?..|.....\".|
|00000d70| 1e 0f 89 47 53 48 cd 61 | ab 8a 0e 0f cb 0e 0f 47 |...GSH.a|.......G|
|00000d80| 53 4f aa 82 0e 0f 1e 10 | 0e 07 40 41 41 1e 11 d2 |SO......|..@AA...|
|00000d90| 0e 11 73 ad 81 c9 1e 12 | d3 0e 11 73 ad 81 c9 1e |..s.....|...s....|
|00000da0| 13 d4 0e 11 73 ad 81 c9 | 1e 14 0e 0f ab c4 d5 0e |....s...|........|
|00000db0| 0f 21 ac 90 0e 12 ab 9a | d6 0e 0f 21 ac 94 d7 0e |.!......|...!....|
|00000dc0| 10 21 ab 8e 0e 10 d8 50 | 16 06 d9 09 0e 13 5c 22 |.!.....P|......\"|
|00000dd0| 15 aa a0 0e 0e ab 9c 0e | 14 ab 98 da 0e 08 0e 0c |........|........|
|00000de0| 5c 22 89 1e 1b ab 8c 0e | 1b d8 50 16 06 d9 09 0e |\"......|..P.....|
|00000df0| 13 5c 22 15 29 2e 08 0e | 07 41 16 07 82 17 00 0e |.\".)...|.A......|
|00000e00| 06 ab 89 0d ab 86 0e 06 | 0d 42 aa 87 0e 08 d9 09 |........|.B......|
|00000e10| c4 5c 22 42 2d 87 22 20 | 5b 65 78 70 61 6e 64 2d |.\"B-." |[expand-|
|00000e20| 66 69 6c 65 2d 6e 61 6d | 65 20 66 69 6c 65 20 66 |file-nam|e file f|
|00000e30| 69 6c 65 2d 6e 61 6d 65 | 2d 64 69 72 65 63 74 6f |ile-name|-directo|
|00000e40| 72 79 20 62 6b 75 70 2d | 62 61 63 6b 75 70 2d 64 |ry bkup-|backup-d|
|00000e50| 69 72 65 63 74 6f 72 79 | 2d 69 6e 66 6f 20 6e 69 |irectory|-info ni|
|00000e60| 6c 20 62 6b 2d 62 61 73 | 65 20 62 6b 2d 64 69 72 |l bk-bas|e bk-dir|
|00000e70| 20 61 6c 69 73 74 20 64 | 69 72 20 74 20 73 74 72 | alist d|ir t str|
|00000e80| 69 6e 67 2d 6d 61 74 63 | 68 20 30 20 62 64 20 3f |ing-matc|h 0 bd ?|
|00000e90| 5c 2f 20 62 64 2d 72 65 | 6c 2d 70 20 62 64 2d 65 |\/ bd-re|l-p bd-e|
|00000ea0| 78 70 6e 20 62 64 2d 6e | 6f 73 6c 61 73 68 20 6f |xpn bd-n|oslash o|
|00000eb0| 70 74 69 6f 6e 73 20 6f | 6b 2d 63 72 65 61 74 65 |ptions o|k-create|
|00000ec0| 20 66 75 6c 6c 2d 70 61 | 74 68 20 73 65 61 72 63 | full-pa|th searc|
|00000ed0| 68 2d 75 70 77 61 72 64 | 20 66 69 6c 65 2d 64 69 |h-upward| file-di|
|00000ee0| 72 65 63 74 6f 72 79 2d | 70 20 66 69 6c 65 2d 65 |rectory-|p file-e|
|00000ef0| 78 69 73 74 73 2d 70 20 | 62 6b 75 70 2d 74 72 79 |xists-p |bkup-try|
|00000f00| 2d 6d 61 6b 69 6e 67 2d | 64 69 72 65 63 74 6f 72 |-making-|director|
|00000f10| 79 20 22 2f 22 20 62 6b | 75 70 2d 62 61 63 6b 75 |y "/" bk|up-backu|
|00000f20| 70 2d 62 61 73 65 6e 61 | 6d 65 20 62 6b 75 70 2d |p-basena|me bkup-|
|00000f30| 73 65 61 72 63 68 2d 75 | 70 77 61 72 64 2d 66 6f |search-u|pward-fo|
|00000f40| 72 2d 62 61 63 6b 75 70 | 2d 64 69 72 20 62 64 2d |r-backup|-dir bd-|
|00000f50| 75 70 5d 20 35 20 28 23 | 24 20 2e 20 33 32 31 38 |up] 5 (#|$ . 3218|
|00000f60| 29 5d 29 0a 23 40 31 36 | 35 20 43 72 65 61 74 65 |)]).#@16|5 Create|
|00000f70| 20 74 68 65 20 6e 6f 6e | 2d 6e 75 6d 65 72 69 63 | the non|-numeric|
|00000f80| 20 62 61 63 6b 75 70 20 | 66 69 6c 65 20 6e 61 6d | backup |file nam|
|00000f90| 65 20 66 6f 72 20 46 49 | 4c 45 2e 0a 4f 70 74 69 |e for FI|LE..Opti|
|00000fa0| 6f 6e 61 6c 6c 79 20 61 | 63 63 65 70 74 20 61 20 |onally a|ccept a |
|00000fb0| 6c 69 73 74 20 63 6f 6e | 74 61 69 6e 69 6e 67 20 |list con|taining |
|00000fc0| 74 68 65 20 62 61 63 6b | 75 70 20 64 69 72 65 63 |the back|up direc|
|00000fd0| 74 6f 72 79 20 61 6e 64 | 0a 62 61 63 6b 75 70 20 |tory and|.backup |
|00000fe0| 62 61 73 65 6e 61 6d 65 | 2e 20 20 4e 42 3a 20 77 |basename|. NB: w|
|00000ff0| 65 20 64 6f 6e 27 74 20 | 72 65 61 6c 6c 79 20 68 |e don't |really h|
|00001000| 61 6e 64 6c 65 20 6d 73 | 2d 64 6f 73 2e 1f 0a 28 |andle ms|-dos...(|
|00001010| 64 65 66 61 6c 69 61 73 | 20 27 62 6b 75 70 2d 6d |defalias| 'bkup-m|
|00001020| 61 6b 65 2d 62 61 63 6b | 75 70 2d 66 69 6c 65 2d |ake-back|up-file-|
|00001030| 6e 61 6d 65 20 23 5b 28 | 66 69 6c 65 20 26 6f 70 |name #[(|file &op|
|00001040| 74 69 6f 6e 61 6c 20 64 | 69 72 2d 6e 2d 62 61 73 |tional d|ir-n-bas|
|00001050| 65 29 20 22 08 c1 61 ab | a2 c2 c3 21 ab 84 c3 20 |e) "..a.|...!... |
|00001060| ac 99 c4 0d 21 1e 06 c7 | 0d 21 c8 c9 0e 06 5c 22 |....!...|.!....\"|
|00001070| ad 86 0e 06 ca cb 95 4f | cc 51 29 87 0e 0d ae 83 |.......O|.Q).....|
|00001080| ce 0d 21 89 1e 0f 40 0e | 0f 41 d0 51 29 87 22 20 |..!...@.|.A.Q)." |
|00001090| 5b 73 79 73 74 65 6d 2d | 74 79 70 65 20 6d 73 2d |[system-|type ms-|
|000010a0| 64 6f 73 20 66 62 6f 75 | 6e 64 70 20 6d 73 64 6f |dos fbou|ndp msdo|
|000010b0| 73 2d 6c 6f 6e 67 2d 66 | 69 6c 65 2d 6e 61 6d 65 |s-long-f|ile-name|
|000010c0| 73 20 66 69 6c 65 2d 6e | 61 6d 65 2d 6e 6f 6e 64 |s file-n|ame-nond|
|000010d0| 69 72 65 63 74 6f 72 79 | 20 66 69 6c 65 20 66 6e |irectory| file fn|
|000010e0| 20 66 69 6c 65 2d 6e 61 | 6d 65 2d 64 69 72 65 63 | file-na|me-direc|
|000010f0| 74 6f 72 79 20 73 74 72 | 69 6e 67 2d 6d 61 74 63 |tory str|ing-matc|
|00001100| 68 20 22 5c 5c 28 5b 5e | 2e 5d 2a 5c 5c 29 5c 5c |h "\\([^|.]*\\)\\|
|00001110| 28 5c 5c 2e 2e 2a 5c 5c | 29 3f 22 20 30 20 31 20 |(\\..*\\|)?" 0 1 |
|00001120| 22 2e 62 61 6b 22 20 64 | 69 72 2d 6e 2d 62 61 73 |".bak" d|ir-n-bas|
|00001130| 65 20 62 6b 75 70 2d 62 | 61 63 6b 75 70 2d 64 69 |e bkup-b|ackup-di|
|00001140| 72 65 63 74 6f 72 79 2d | 61 6e 64 2d 62 61 73 65 |rectory-|and-base|
|00001150| 6e 61 6d 65 20 64 2d 6e | 2d 62 20 22 7e 22 5d 20 |name d-n|-b "~"] |
|00001160| 35 20 28 23 24 20 2e 20 | 33 39 34 36 29 5d 29 0a |5 (#$ . |3946)]).|
|00001170| 23 40 34 37 20 52 65 74 | 75 72 6e 20 6c 69 73 74 |#@47 Ret|urn list|
|00001180| 20 6f 66 20 65 78 69 73 | 74 69 6e 67 20 62 61 63 | of exis|ting bac|
|00001190| 6b 75 70 20 66 69 6c 65 | 73 20 66 6f 72 20 66 69 |kup file|s for fi|
|000011a0| 6c 65 1f 0a 28 64 65 66 | 61 6c 69 61 73 20 27 62 |le..(def|alias 'b|
|000011b0| 6b 75 70 2d 65 78 69 73 | 74 69 6e 67 2d 62 61 63 |kup-exis|ting-bac|
|000011c0| 6b 75 70 2d 66 69 6c 65 | 73 20 23 5b 28 66 6e 29 |kup-file|s #[(fn)|
|000011d0| 20 22 c0 09 21 1a c3 5c | 6e 21 1c c5 5c 6e 0c 5c | "..!..\|n!..\n.\|
|000011e0| 22 1e 06 c7 0e 06 21 1e | 08 0c 40 1e 09 0c 41 ca |".....!.|..@...A.|
|000011f0| 50 1e 0b cc 0e 0b 0e 09 | 5c 22 1e 0d ce cf 0e 0d |P.......|\"......|
|00001200| 5c 22 1e 10 ce c0 0e 08 | ab 87 0e 06 0e 10 42 aa |\"......|......B.|
|00001210| 82 0e 10 5c 22 2e 08 87 | 22 20 5b 65 78 70 61 6e |...\"...|" [expan|
|00001220| 64 2d 66 69 6c 65 2d 6e | 61 6d 65 20 66 6e 20 65 |d-file-n|ame fn e|
|00001230| 66 6e 20 62 6b 75 70 2d | 62 61 63 6b 75 70 2d 64 |fn bkup-|backup-d|
|00001240| 69 72 65 63 74 6f 72 79 | 2d 61 6e 64 2d 62 61 73 |irectory|-and-bas|
|00001250| 65 6e 61 6d 65 20 64 69 | 72 2d 6e 2d 62 61 73 65 |ename di|r-n-base|
|00001260| 20 62 6b 75 70 2d 6d 61 | 6b 65 2d 62 61 63 6b 75 | bkup-ma|ke-backu|
|00001270| 70 2d 66 69 6c 65 2d 6e | 61 6d 65 20 6e 6f 6e 2d |p-file-n|ame non-|
|00001280| 6e 75 6d 2d 62 6b 2d 6e | 61 6d 65 20 66 69 6c 65 |num-bk-n|ame file|
|00001290| 2d 65 78 69 73 74 73 2d | 70 20 6e 6f 6e 2d 6e 75 |-exists-|p non-nu|
|000012a0| 6d 2d 62 6b 20 62 61 63 | 6b 75 70 2d 64 69 72 20 |m-bk bac|kup-dir |
|000012b0| 22 2e 7e 22 20 62 61 73 | 65 2d 76 65 72 73 69 6f |".~" bas|e-versio|
|000012c0| 6e 73 20 66 69 6c 65 2d | 6e 61 6d 65 2d 61 6c 6c |ns file-|name-all|
|000012d0| 2d 63 6f 6d 70 6c 65 74 | 69 6f 6e 73 20 70 6f 73 |-complet|ions pos|
|000012e0| 73 69 62 69 6c 69 74 69 | 65 73 20 6d 61 70 63 61 |sibiliti|es mapca|
|000012f0| 72 20 23 5b 28 6e 61 6d | 65 29 20 22 08 09 50 87 |r #[(nam|e) "..P.|
|00001300| 22 20 5b 62 61 63 6b 75 | 70 2d 64 69 72 20 6e 61 |" [backu|p-dir na|
|00001310| 6d 65 5d 20 32 5d 20 70 | 6f 73 73 5d 20 34 20 28 |me] 2] p|oss] 4 (|
|00001320| 23 24 20 2e 20 34 34 36 | 39 29 5d 29 0a 23 40 33 |#$ . 446|9)]).#@3|
|00001330| 38 20 46 69 6e 64 20 74 | 68 65 20 6c 61 74 65 73 |8 Find t|he lates|
|00001340| 74 20 62 61 63 6b 75 70 | 20 66 69 6c 65 20 66 6f |t backup| file fo|
|00001350| 72 20 46 49 4c 45 1f 0a | 28 64 65 66 61 6c 69 61 |r FILE..|(defalia|
|00001360| 73 20 27 66 69 6e 64 2d | 66 69 6c 65 2d 6c 61 74 |s 'find-|file-lat|
|00001370| 65 73 74 2d 62 61 63 6b | 75 70 20 23 5b 28 66 69 |est-back|up #[(fi|
|00001380| 6c 65 29 20 22 c0 09 21 | 89 1a ab 85 c3 5c 6e 21 |le) "..!|.....\n!|
|00001390| aa 84 c4 c5 09 5c 22 29 | 87 22 20 5b 66 69 6c 65 |.....\")|." [file|
|000013a0| 2d 6e 65 77 65 73 74 2d | 62 61 63 6b 75 70 20 66 |-newest-|backup f|
|000013b0| 69 6c 65 20 62 61 63 6b | 75 70 20 66 69 6e 64 2d |ile back|up find-|
|000013c0| 66 69 6c 65 20 6d 65 73 | 73 61 67 65 20 22 6e 6f |file mes|sage "no|
|000013d0| 20 62 61 63 6b 75 70 73 | 20 66 6f 75 6e 64 20 66 | backups| found f|
|000013e0| 6f 72 20 60 25 73 27 22 | 5d 20 34 20 28 23 24 20 |or `%s'"|] 4 (#$ |
|000013f0| 2e 20 34 39 31 34 29 20 | 28 6c 69 73 74 20 28 72 |. 4914) |(list (r|
|00001400| 65 61 64 2d 66 69 6c 65 | 2d 6e 61 6d 65 20 28 66 |ead-file|-name (f|
|00001410| 6f 72 6d 61 74 20 22 46 | 69 6e 64 20 6c 61 74 65 |ormat "F|ind late|
|00001420| 73 74 20 62 61 63 6b 75 | 70 20 6f 66 20 66 69 6c |st backu|p of fil|
|00001430| 65 20 28 64 65 66 61 75 | 6c 74 20 25 73 29 3a 20 |e (defau|lt %s): |
|00001440| 22 20 28 66 69 6c 65 2d | 6e 61 6d 65 2d 6e 6f 6e |" (file-|name-non|
|00001450| 64 69 72 65 63 74 6f 72 | 79 20 28 62 75 66 66 65 |director|y (buffe|
|00001460| 72 2d 66 69 6c 65 2d 6e | 61 6d 65 29 29 29 20 6e |r-file-n|ame))) n|
|00001470| 69 6c 20 28 62 75 66 66 | 65 72 2d 66 69 6c 65 2d |il (buff|er-file-|
|00001480| 6e 61 6d 65 29 20 74 29 | 29 5d 29 0a 23 40 31 35 |name) t)|)]).#@15|
|00001490| 32 20 43 72 65 61 74 65 | 20 74 68 65 20 6e 6f 6e |2 Create| the non|
|000014a0| 2d 6e 75 6d 65 72 69 63 | 20 62 61 63 6b 75 70 20 |-numeric| backup |
|000014b0| 66 69 6c 65 20 6e 61 6d | 65 20 66 6f 72 20 46 49 |file nam|e for FI|
|000014c0| 4c 45 2e 0a 54 68 69 73 | 20 69 73 20 61 20 73 65 |LE..This| is a se|
|000014d0| 70 61 72 61 74 65 20 66 | 75 6e 63 74 69 6f 6e 20 |parate f|unction |
|000014e0| 73 6f 20 79 6f 75 20 63 | 61 6e 20 72 65 64 65 66 |so you c|an redef|
|000014f0| 69 6e 65 20 69 74 20 66 | 6f 72 20 63 75 73 74 6f |ine it f|or custo|
|00001500| 6d 69 7a 61 74 69 6f 6e | 2e 0a 2a 2a 2a 20 43 68 |mization|..*** Ch|
|00001510| 61 6e 67 65 64 20 62 79 | 20 22 62 61 63 6b 75 70 |anged by| "backup|
|00001520| 2d 64 69 72 2e 65 6c 22 | 1f 0a 28 64 65 66 61 6c |-dir.el"|..(defal|
|00001530| 69 61 73 20 27 6d 61 6b | 65 2d 62 61 63 6b 75 70 |ias 'mak|e-backup|
|00001540| 2d 66 69 6c 65 2d 6e 61 | 6d 65 20 23 5b 28 66 69 |-file-na|me #[(fi|
|00001550| 6c 65 29 20 22 c0 09 21 | 87 22 20 5b 62 6b 75 70 |le) "..!|." [bkup|
|00001560| 2d 6d 61 6b 65 2d 62 61 | 63 6b 75 70 2d 66 69 6c |-make-ba|ckup-fil|
|00001570| 65 2d 6e 61 6d 65 20 66 | 69 6c 65 5d 20 32 20 28 |e-name f|ile] 2 (|
|00001580| 23 24 20 2e 20 35 32 36 | 36 29 5d 29 0a 23 40 32 |#$ . 526|6)]).#@2|
|00001590| 36 36 20 46 69 6e 64 20 | 61 20 66 69 6c 65 20 6e |66 Find |a file n|
|000015a0| 61 6d 65 20 66 6f 72 20 | 61 20 62 61 63 6b 75 70 |ame for |a backup|
|000015b0| 20 66 69 6c 65 2c 20 61 | 6e 64 20 73 75 67 67 65 | file, a|nd sugge|
|000015c0| 73 74 69 6f 6e 73 20 66 | 6f 72 20 64 65 6c 65 74 |stions f|or delet|
|000015d0| 69 6f 6e 73 2e 0a 56 61 | 6c 75 65 20 69 73 20 61 |ions..Va|lue is a|
|000015e0| 20 6c 69 73 74 20 77 68 | 6f 73 65 20 63 61 72 20 | list wh|ose car |
|000015f0| 69 73 20 74 68 65 20 6e | 61 6d 65 20 66 6f 72 20 |is the n|ame for |
|00001600| 74 68 65 20 62 61 63 6b | 75 70 20 66 69 6c 65 0a |the back|up file.|
|00001610| 20 61 6e 64 20 77 68 6f | 73 65 20 63 64 72 20 69 | and who|se cdr i|
|00001620| 73 20 61 20 6c 69 73 74 | 20 6f 66 20 6f 6c 64 20 |s a list| of old |
|00001630| 76 65 72 73 69 6f 6e 73 | 20 74 6f 20 63 6f 6e 73 |versions| to cons|
|00001640| 69 64 65 72 20 64 65 6c | 65 74 69 6e 67 20 6e 6f |ider del|eting no|
|00001650| 77 2e 0a 49 66 20 74 68 | 65 20 76 61 6c 75 65 20 |w..If th|e value |
|00001660| 69 73 20 6e 69 6c 2c 20 | 64 6f 6e 27 74 20 6d 61 |is nil, |don't ma|
|00001670| 6b 65 20 61 20 62 61 63 | 6b 75 70 2e 0a 2a 2a 2a |ke a bac|kup..***|
|00001680| 20 43 68 61 6e 67 65 64 | 20 62 79 20 22 62 61 63 | Changed| by "bac|
|00001690| 6b 75 70 2d 64 69 72 2e | 65 6c 22 1f 0a 28 64 65 |kup-dir.|el"..(de|
|000016a0| 66 61 6c 69 61 73 20 27 | 66 69 6e 64 2d 62 61 63 |falias '|find-bac|
|000016b0| 6b 75 70 2d 66 69 6c 65 | 2d 6e 61 6d 65 20 23 5b |kup-file|-name #[|
|000016c0| 28 66 6e 29 20 22 c0 09 | c2 5c 22 89 1b ab 86 0b |(fn) "..|.\".....|
|000016d0| c2 09 5c 22 aa ff 0c c5 | 61 ab 86 c6 09 21 43 aa |..\"....|a....!C.|
|000016e0| f4 c7 09 21 1e 08 c9 09 | 0e 08 5c 22 1e 5c 6e 0e |...!....|..\".\n.|
|000016f0| 08 40 1e 0b 0e 08 41 89 | 1e 0c cd 50 89 1e 0e 47 |.@....A.|...P...G|
|00001700| 1e 0f d0 1e 11 d0 1e 12 | d3 1e 14 d0 1e 15 d3 1e |........|........|
|00001710| 16 d0 d7 d8 8f 88 0e 15 | ac 88 c9 09 0e 08 5c 22 |........|......\"|
|00001720| 43 aa b3 0e 0b 0e 0e d9 | 0e 14 54 21 da 52 0e 16 |C.......|..T!.R..|
|00001730| d3 56 ad a1 0e 1b 0e 1c | 5c 5c dd 5c 5c d3 59 ad |.V......|\\.\\.Y.|
|00001740| 96 de df 0e 1c 0e 12 9b | 1e 20 0e 16 53 0e 20 9b |........|. ..S. .|
|00001750| d0 a1 88 0e 20 29 5c 22 | 42 2e 0b 29 87 22 20 5b |.... )\"|B..)." [|
|00001760| 66 69 6e 64 2d 66 69 6c | 65 2d 6e 61 6d 65 2d 68 |find-fil|e-name-h|
|00001770| 61 6e 64 6c 65 72 20 66 | 6e 20 66 69 6e 64 2d 62 |andler f|n find-b|
|00001780| 61 63 6b 75 70 2d 66 69 | 6c 65 2d 6e 61 6d 65 20 |ackup-fi|le-name |
|00001790| 68 61 6e 64 6c 65 72 20 | 76 65 72 73 69 6f 6e 2d |handler |version-|
|000017a0| 63 6f 6e 74 72 6f 6c 20 | 6e 65 76 65 72 20 6d 61 |control |never ma|
|000017b0| 6b 65 2d 62 61 63 6b 75 | 70 2d 66 69 6c 65 2d 6e |ke-backu|p-file-n|
|000017c0| 61 6d 65 20 62 6b 75 70 | 2d 62 61 63 6b 75 70 2d |ame bkup|-backup-|
|000017d0| 64 69 72 65 63 74 6f 72 | 79 2d 61 6e 64 2d 62 61 |director|y-and-ba|
|000017e0| 73 65 6e 61 6d 65 20 64 | 69 72 2d 6e 2d 62 61 73 |sename d|ir-n-bas|
|000017f0| 65 20 62 6b 75 70 2d 6d | 61 6b 65 2d 62 61 63 6b |e bkup-m|ake-back|
|00001800| 75 70 2d 66 69 6c 65 2d | 6e 61 6d 65 20 6e 6f 6e |up-file-|name non|
|00001810| 2d 6e 75 6d 2d 62 6b 2d | 6e 61 6d 65 20 62 6b 2d |-num-bk-|name bk-|
|00001820| 64 69 72 20 62 6b 2d 62 | 61 73 65 20 22 2e 7e 22 |dir bk-b|ase ".~"|
|00001830| 20 62 61 73 65 2d 76 65 | 72 73 69 6f 6e 73 20 62 | base-ve|rsions b|
|00001840| 76 2d 6c 65 6e 67 74 68 | 20 6e 69 6c 20 70 6f 73 |v-length| nil pos|
|00001850| 73 69 62 69 6c 69 74 69 | 65 73 20 76 65 72 73 69 |sibiliti|es versi|
|00001860| 6f 6e 73 20 30 20 68 69 | 67 68 2d 77 61 74 65 72 |ons 0 hi|gh-water|
|00001870| 2d 6d 61 72 6b 20 64 65 | 73 65 72 76 65 2d 76 65 |-mark de|serve-ve|
|00001880| 72 73 69 6f 6e 73 2d 70 | 20 6e 75 6d 62 65 72 2d |rsions-p| number-|
|00001890| 74 6f 2d 64 65 6c 65 74 | 65 20 28 62 79 74 65 2d |to-delet|e (byte-|
|000018a0| 63 6f 64 65 20 22 c0 09 | 5c 6e 5c 22 13 c4 c5 c6 |code "..|\n\"....|
|000018b0| 0b 5c 22 c7 5c 22 16 08 | c9 ca cb 0e 08 23 16 0c |.\".\"..|.....#..|
|000018c0| 0e 0d ae 84 0e 0c cb 56 | 16 0e 0e 08 47 0e 0f 5a |.......V|....G..Z|
|000018d0| 0e 10 5a d1 5a 16 12 c0 | 87 22 20 5b 66 69 6c 65 |..Z.Z...|." [file|
|000018e0| 2d 6e 61 6d 65 2d 61 6c | 6c 2d 63 6f 6d 70 6c 65 |-name-al|l-comple|
|000018f0| 74 69 6f 6e 73 20 62 61 | 73 65 2d 76 65 72 73 69 |tions ba|se-versi|
|00001900| 6f 6e 73 20 62 6b 2d 64 | 69 72 20 70 6f 73 73 69 |ons bk-d|ir possi|
|00001910| 62 69 6c 69 74 69 65 73 | 20 73 6f 72 74 20 6d 61 |bilities| sort ma|
|00001920| 70 63 61 72 20 62 61 63 | 6b 75 70 2d 65 78 74 72 |pcar bac|kup-extr|
|00001930| 61 63 74 2d 76 65 72 73 | 69 6f 6e 20 3c 20 76 65 |act-vers|ion < ve|
|00001940| 72 73 69 6f 6e 73 20 61 | 70 70 6c 79 20 6d 61 78 |rsions a|pply max|
|00001950| 20 30 20 68 69 67 68 2d | 77 61 74 65 72 2d 6d 61 | 0 high-|water-ma|
|00001960| 72 6b 20 76 65 72 73 69 | 6f 6e 2d 63 6f 6e 74 72 |rk versi|on-contr|
|00001970| 6f 6c 20 64 65 73 65 72 | 76 65 2d 76 65 72 73 69 |ol deser|ve-versi|
|00001980| 6f 6e 73 2d 70 20 6b 65 | 70 74 2d 6f 6c 64 2d 76 |ons-p ke|pt-old-v|
|00001990| 65 72 73 69 6f 6e 73 20 | 6b 65 70 74 2d 6e 65 77 |ersions |kept-new|
|000019a0| 2d 76 65 72 73 69 6f 6e | 73 20 2d 31 20 6e 75 6d |-version|s -1 num|
|000019b0| 62 65 72 2d 74 6f 2d 64 | 65 6c 65 74 65 5d 20 34 |ber-to-d|elete] 4|
|000019c0| 29 20 28 28 66 69 6c 65 | 2d 65 72 72 6f 72 20 28 |) ((file|-error (|
|000019d0| 62 79 74 65 2d 63 6f 64 | 65 20 22 c0 11 c0 87 22 |byte-cod|e "...."|
|000019e0| 20 5b 6e 69 6c 20 70 6f | 73 73 69 62 69 6c 69 74 | [nil po|ssibilit|
|000019f0| 69 65 73 5d 20 31 29 29 | 29 20 69 6e 74 2d 74 6f |ies] 1))|) int-to|
|00001a00| 2d 73 74 72 69 6e 67 20 | 22 7e 22 20 6b 65 70 74 |-string |"~" kept|
|00001a10| 2d 6e 65 77 2d 76 65 72 | 73 69 6f 6e 73 20 6b 65 |-new-ver|sions ke|
|00001a20| 70 74 2d 6f 6c 64 2d 76 | 65 72 73 69 6f 6e 73 20 |pt-old-v|ersions |
|00001a30| 2d 31 20 6d 61 70 63 61 | 72 20 23 5b 28 6e 29 20 |-1 mapca|r #[(n) |
|00001a40| 22 08 09 c2 0b 21 c4 52 | 87 22 20 5b 62 6b 2d 64 |"....!.R|." [bk-d|
|00001a50| 69 72 20 62 61 73 65 2d | 76 65 72 73 69 6f 6e 73 |ir base-|versions|
|00001a60| 20 69 6e 74 2d 74 6f 2d | 73 74 72 69 6e 67 20 6e | int-to-|string n|
|00001a70| 20 22 7e 22 5d 20 34 5d | 20 76 5d 20 36 20 28 23 | "~"] 4]| v] 6 (#|
|00001a80| 24 20 2e 20 35 35 32 33 | 29 5d 29 0a 23 40 31 30 |$ . 5523|)]).#@10|
|00001a90| 34 20 52 65 74 75 72 6e | 20 6d 6f 73 74 20 72 65 |4 Return| most re|
|00001aa0| 63 65 6e 74 20 62 61 63 | 6b 75 70 20 66 69 6c 65 |cent bac|kup file|
|00001ab0| 20 66 6f 72 20 46 49 4c | 45 4e 41 4d 45 20 6f 72 | for FIL|ENAME or|
|00001ac0| 20 6e 69 6c 20 69 66 20 | 6e 6f 20 62 61 63 6b 75 | nil if |no backu|
|00001ad0| 70 73 20 65 78 69 73 74 | 2e 0a 2a 2a 2a 20 43 68 |ps exist|..*** Ch|
|00001ae0| 61 6e 67 65 64 20 62 79 | 20 22 62 61 63 6b 75 70 |anged by| "backup|
|00001af0| 2d 64 69 72 2e 65 6c 22 | 1f 0a 28 64 65 66 61 6c |-dir.el"|..(defal|
|00001b00| 69 61 73 20 27 66 69 6c | 65 2d 6e 65 77 65 73 74 |ias 'fil|e-newest|
|00001b10| 2d 62 61 63 6b 75 70 20 | 23 5b 28 66 69 6c 65 6e |-backup |#[(filen|
|00001b20| 61 6d 65 29 20 22 c0 09 | 21 c2 89 1b 1c 1d 0d ab |ame) "..|!.......|
|00001b30| 98 0d 40 13 0d 41 15 c6 | 0b 21 ab 72 0c ab 86 c7 |..@..A..|.!.r....|
|00001b40| 0b 0c 5c 22 ab 69 0b 14 | aa 65 0c 2b 87 22 20 5b |..\".i..|.e.+." [|
|00001b50| 62 6b 75 70 2d 65 78 69 | 73 74 69 6e 67 2d 62 61 |bkup-exi|sting-ba|
|00001b60| 63 6b 75 70 2d 66 69 6c | 65 73 20 66 69 6c 65 6e |ckup-fil|es filen|
|00001b70| 61 6d 65 20 6e 69 6c 20 | 66 69 6c 65 20 6e 65 77 |ame nil |file new|
|00001b80| 65 73 74 20 63 6f 6d 70 | 20 62 61 63 6b 75 70 2d |est comp| backup-|
|00001b90| 66 69 6c 65 2d 6e 61 6d | 65 2d 70 20 66 69 6c 65 |file-nam|e-p file|
|00001ba0| 2d 6e 65 77 65 72 2d 74 | 68 61 6e 2d 66 69 6c 65 |-newer-t|han-file|
|00001bb0| 2d 70 5d 20 33 20 28 23 | 24 20 2e 20 36 38 30 32 |-p] 3 (#|$ . 6802|
|00001bc0| 29 5d 29 0a 28 64 65 66 | 61 6c 69 61 73 20 27 62 |)]).(def|alias 'b|
|00001bd0| 6b 75 70 2d 70 61 74 63 | 68 2d 6c 61 74 65 73 74 |kup-patc|h-latest|
|00001be0| 2d 62 61 63 6b 75 70 2d | 66 69 6c 65 20 23 5b 6e |-backup-|file #[n|
|00001bf0| 69 6c 20 22 c0 c1 4b 4d | 88 c2 c3 c4 5c 22 87 22 |il "..KM|....\"."|
|00001c00| 20 5b 6c 61 74 65 73 74 | 2d 62 61 63 6b 75 70 2d | [latest|-backup-|
|00001c10| 66 69 6c 65 20 66 69 6c | 65 2d 6e 65 77 65 73 74 |file fil|e-newest|
|00001c20| 2d 62 61 63 6b 75 70 20 | 72 65 6d 6f 76 65 2d 68 |-backup |remove-h|
|00001c30| 6f 6f 6b 20 64 69 72 65 | 64 2d 6c 6f 61 64 2d 68 |ook dire|d-load-h|
|00001c40| 6f 6f 6b 20 62 6b 75 70 | 2d 70 61 74 63 68 2d 6c |ook bkup|-patch-l|
|00001c50| 61 74 65 73 74 2d 62 61 | 63 6b 75 70 2d 66 69 6c |atest-ba|ckup-fil|
|00001c60| 65 5d 20 33 5d 29 0a 28 | 62 79 74 65 2d 63 6f 64 |e] 3]).(|byte-cod|
|00001c70| 65 20 22 c0 c1 21 ab 87 | c2 c3 4b 4d 88 aa 85 c4 |e "..!..|..KM....|
|00001c80| c5 c6 5c 22 88 c7 c8 21 | 88 c9 c3 4b 4d 88 ca cb |..\"...!|...KM...|
|00001c90| 21 87 22 20 5b 66 65 61 | 74 75 72 65 70 20 64 69 |!." [fea|turep di|
|00001ca0| 72 65 64 20 6c 61 74 65 | 73 74 2d 62 61 63 6b 75 |red late|st-backu|
|00001cb0| 70 2d 66 69 6c 65 20 66 | 69 6c 65 2d 6e 65 77 65 |p-file f|ile-newe|
|00001cc0| 73 74 2d 62 61 63 6b 75 | 70 20 61 64 64 2d 68 6f |st-backu|p add-ho|
|00001cd0| 6f 6b 20 64 69 72 65 64 | 2d 6c 6f 61 64 2d 68 6f |ok dired|-load-ho|
|00001ce0| 6f 6b 20 62 6b 75 70 2d | 70 61 74 63 68 2d 6c 61 |ok bkup-|patch-la|
|00001cf0| 74 65 73 74 2d 62 61 63 | 6b 75 70 2d 66 69 6c 65 |test-bac|kup-file|
|00001d00| 20 72 65 71 75 69 72 65 | 20 64 69 66 66 20 64 69 | require| diff di|
|00001d10| 66 66 2d 6c 61 74 65 73 | 74 2d 62 61 63 6b 75 70 |ff-lates|t-backup|
|00001d20| 2d 66 69 6c 65 20 70 72 | 6f 76 69 64 65 20 62 61 |-file pr|ovide ba|
|00001d30| 63 6b 75 70 2d 64 69 72 | 5d 20 33 29 0a |ckup-dir|] 3). |
+--------+-------------------------+-------------------------+--------+--------+